package com.spzx.product.service.impl;

import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.spzx.common.core.constant.UserConstants;
import com.spzx.common.core.utils.StringUtils;
import com.spzx.product.domain.Brand;
import com.spzx.product.domain.ProductUnit;
import com.spzx.product.mapper.ProductUnitMapper;
import com.spzx.product.service.ProductUnitService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 * 商品单位 服务实现类
 * </p>
 *
 * @author lynn
 * @since 2025-03-12
 */
@Service
public class ProductUnitServiceImpl extends ServiceImpl<ProductUnitMapper, ProductUnit> implements ProductUnitService {

    @Autowired
    private ProductUnitMapper productUnitMapper;
    @Override
    public List<ProductUnit> selectProductUnitListByName(String name) {
        List<ProductUnit> productUnitList = productUnitMapper.selectList(new LambdaUpdateWrapper<ProductUnit>().eq(ProductUnit::getName, name));
        return productUnitList;
    }

    @Override
    public boolean checkProductUnitNameUnique(ProductUnit productUnit) {
        Long productUnitId = StringUtils.isNull(productUnit.getId()) ? -1L : productUnit.getId();
        ProductUnit info = productUnitMapper.checkProductUnitNameUnique(productUnit.getName());
        if (StringUtils.isNotNull(info) && info.getId().longValue() != productUnitId.longValue())
        {
            return UserConstants.NOT_UNIQUE;
        }
        return UserConstants.UNIQUE;
    }
}
